    var generic = {
    lnk:'',
    htmlLoad:'',
    ban:false,
    responseFrame:false,
    actividades:new Array(),
    preguntas:new Array(),
    capitulos:new Array(),
    temas:new Array(),
    inputs:new Array(),
    init:function(lnk){
        this.lnk = lnk;
        switch(this.lnk){
            case 'home':
                this.htmlLoad = 'main.php';
            break;
            case 'new':
                this.htmlLoad = 'registro.html';
            break;
            case 'modify':  
                this.htmlLoad = 'modificacion.php';
            break;
            case 'activid':
                this.htmlLoad = 'actividad.php';
            break;
            case 'cuest':
                this.htmlLoad = 'cuestionario.html';
            break;
            case 'capt':
                this.htmlLoad = 'capitulos.html';
            break;
            case 'modifCap':
                this.htmlLoad = 'modifCap.php';
            break;
            case 'modyActiv':
                this.htmlLoad = 'editaActividad.php';
            break;
            case 'temas':
                this.htmlLoad = 'temas.html';
            break;
            case 'modifTem':
                this.htmlLoad = 'modifTema.html';
            break;
            case 'edit_cuest':
                this.htmlLoad = 'editaCuestionario.php';
            break;
            case 'institucion':
                this.htmlLoad = 'nuevaInstitucion.html';
            break;
            case 'editInst':
                this.htmlLoad = 'modifInstitucion.html';
            break;
            case 'preg':
                this.htmlLoad = 'preguntas.php';
            break;
        }
         $('#workArea').hide().fadeIn(1600).load(this.htmlLoad);
    },
    comboEspec:function(){

        $('#cboEspec').empty();
        $.ajax({
            url:'modules/loadEspec.php',
            dataType:'json',
            type:'POST',
            data:{},
            success:function(data){
                if(data.status){

                    $.each(data.espc,function(index,el){
                        $("#cboEspec").append($("<option value="+el.idespecialidad+"><\/option>").html(el.descripcion));    
                    })
                }
                else{
                    alert(data.msg)
                }
            },
            error:function(data){

            }
        });
    },
    comboActividades:function(){
        $('#cboAct').empty();
        $.ajax({
            url:'modules/loadActiv.php',
            dataType:'json',
            type:'POST',
            data:{},
            success:function(data){
                if(data.status){
                    generic.actividades = data.acti;
                    $.each(data.acti,function(index,el){
                        $("#cboAct").append($("<option value="+el.idactividad+"><\/option>").html(el.descripcioncorta));    
                    });
                    $('#txtCuestionarioAct').val(generic.actividades[0].idcuestionario)
                    $('#cboAct').unbind('change');
                    $('#cboAct').change(function(){
                        var key = $(this).val();
                        $.each(generic.actividades,function(index,el){
                            if(key == el.idactividad){
                                $('#txtCuestionarioAct').val(el.idcuestionario)
                            }
                        })
                    })
                }   
                else{
                   generic.msgError(data.msg);
                }
            },
            error:function(data){

            }
        });
    },
    comboCapClon:function(){
        $('#cboCap').empty();
        $.ajax({
            url:'modules/loadCap.php',
            dataType:'json',
            type:'POST',
            data:{},
            success:function(data){
                if(data.status){
                    generic.capitulos = data.cap;
                    $.each(data.cap,function(index,el){
                        $("#cboCap").append($("<option value="+el.IdCapitulo+"><\/option>").html(el.Descripcion));    
                    })
                    $('#txtCuestionarioCap').val(generic.capitulos[0].IdCuestionario)
                    $('#cboCap').change(function(){
                        var key = $(this).val();
                        $.each(generic.capitulos,function(index,el){
                            if(key == el.IdCapitulo){
                                $('#txtCuestionarioCap').val(el.IdCuestionario)           
                            }
                        });
                    });
                }
                else{
                    generic.disableInputs();
                    generic.msgError(data.msg);
                }
            },
            error:function(data){

            }
        });
        
           
        
        },
    comboCap:function(){
         $('#cboCap').empty();
        $.ajax({
            url:'modules/loadCap.php',
            dataType:'json',
            type:'POST',
            data:{},
            success:function(data){
                if(data.status){
                    generic.capitulos = data.cap;
                    $("#cboCap").append($("<option value ='---'></option>").html("Seleccione Un Capitulo"));    
                    $.each(data.cap,function(index,el){
                        $("#cboCap").append($("<option value="+el.IdCapitulo+"><\/option>").html(el.Descripcion));    
                    })
                    $('#cboCap').change(function(){
                        var key = $(this).val();
                        if(key!='---'){
                            $.each(generic.capitulos,function(index,el){
                                if(key == el.IdCapitulo){
                                  $('#txtDescripcion').val(el.Descripcion).removeAttr('disabled');
                                  $("#cboAct option[value="+ el.IdActividad +"]").attr("selected","selected")
                                  $('#cboAct').removeAttr('disabled');
                                  $('#txtIntroduccion').val(el.Introduccion).removeAttr('disabled');
                                  $('#txtContenido').val(el.Contenido).removeAttr('disabled');
                                  $('#txtNumero').val(el.Numero).removeAttr('disabled');
                                  if(el.EsRequerido == '1'){
                                    $('#esRequ').attr('checked',true).removeAttr('disabled');
                                  }else{
                                     $('#esRequ').attr('checked',false).removeAttr('disabled');
                                  }
                                }
                                
                            });
                        }else{
                                  $('#txtDescripcion').val('').attr('disabled','disabled');
                                  $('#cboAct').attr('disabled','disabled');
                                  $('#txtIntroduccion').val('').attr('disabled','disabled');
                                  $('#txtContenido').val('').attr('disabled','disabled');
                                  $('#txtNumero').val('').attr('disabled','disabled');
                                $('#esRequ').attr({'checked':false,'disabled':'disabled'});
                            }

                    });
                }
                else{
                    generic.disableInputs();
                    generic.msgError(data.msg)
                }
            },
            error:function(data){

            }
        });
    },
    cargaDatosCap:function(id){        
        $.ajax({
            url:'modules/loadCap.php',
            dataType:'json',
            type:'POST',
            data:{'idCap':id},
            success:function(data){
                if(data.status){
                    generic.capitulos = data.cap;
                    $('#txtDescripcion').val(generic.capitulos.Descripcion);
                    $('#txtContenido').val(generic.capitulos.Contenido);
                    $('#txtIntroduccion').val(generic.capitulos.Introduccion);
                    $('#txtNumero').val(generic.capitulos.Numero);

                    var gen = generic.capitulos.EsRequerido;
                    if (gen != 0) {
                        $("#esRequ").attr("checked",true);
                    }
                    $("#cboAct option[value="+ generic.capitulos.IdActividad +"]").attr("selected","selected")
                    $("#fadeListaCap").fadeOut(0);
                    $("#fadeNvoCap").fadeIn(200);
                }
            },
            error:function(data){

            }
        });
    },
    comboTem:function(){
         $('#cboTem').empty();
        $.ajax({
            url:'modules/loadTem.php',
            dataType:'json',
            type:'POST',
            data:{},
            success:function(data){
                if(data.status){
                    generic.temas = data.tem;
                    $("#cboTem").append($("<option value ='---'></option>").html("Seleccione Un Tema"));
                    $.each(data.tem,function(index,el){
                        $("#cboTem").append($("<option value="+el.IdTema+"><\/option>").html(el.Descripcion));    
                    })

                    $('#cboTem').change(function(){
                        var key = $(this)   .val();
                        if(key!='---'){
                            $.each(generic.temas,function(index,el){
                                if(key == el.IdTema){
                                  $('#txtDescripcion').val(el.Descripcion).removeAttr('disabled');
                                  $("#cboCap option[value="+ el.IdCapitulo +"]").attr("selected","selected")

                                //recorrer Capitulos para sacar el cuestionario segun capitulo
                               
                                $('#cboCap').removeAttr('disabled');
                                  $('#txtContenido').val(el.Contenido).removeAttr('disabled');
                                  $('#txtNumero').val(el.Numero).removeAttr('disabled');
                                  if(el.EsRequerido == '1'){
                                    $('#esRequ').attr('checked',true).removeAttr('disabled');
                                  }else{
                                     $('#esRequ').attr('checked',false).removeAttr('disabled');
                                  }
                                }
                                
                            });


                        }else{
                                  $('#txtDescripcion').val('').attr('disabled','disabled');
                                  $('#cboCap').attr('disabled','disabled');
                                  $('#txtContenido').val('').attr('disabled','disabled');
                                  $('#txtNumero').val('').attr('disabled','disabled');
                                $('#esRequ').attr({'checked':false,'disabled':'disabled'});
                            }

                    });

                }
                else{
                    generic.disableInputs();
                   generic.msgError(data.msg)
                }
            },
            error:function(data){

            }
        });
    },
    cargaDatosAct:function(id){        
        $.ajax({
            url:'modules/loadDataActiv.php?val=' + id,
            dataType:'json',
            type:'GET',
            data:{},
            success:function(data){
                if(data.status){
                    generic.actividades = data.acti;
                    $('#txtDescripcion').val(generic.actividades[0].DescripcionCorta);
                    $('#txtContenido').val(generic.actividades[0].Contenido);
                    $('#txtFecha').val(generic.actividades[0].FechaVigencia);

                    var gen = generic.actividades[0].EsGenerica;
                    if (gen != 0) {
                        $("#chkGenerica").attr("checked",true);
                    }

                    $("#rdo" + generic.actividades[0].IdCuestionario).attr("checked",true);

                    $("#fade_out").fadeOut(0);
                    $("#fade_in").fadeIn(200);
                }
            },
            error:function(data){

            }
        });
    },
    eliminaActividad:function(id){
        $.ajax({
            url:'modules/loadEliminaAct.php',
            dataType:'json',
            type:'POST',
            data:{'actividad':id},
            success:function(data){
                generic.init('modyActiv');
            },
            error:function(data){

            }
        });
    },
    cargaDatosCuest:function(id){        
        $.ajax({
            url:'modules/loadDataCuest.php?val=' + id,
            dataType:'json',
            type:'GET',
            data:{},
            success:function(data){
                if(data.status){
                    generic.actividades = data.acti;
                    $('#txtCuestionario').val(generic.actividades[0].Descripcion);
                    
                    $("#fade_out").fadeOut(0);
                    $("#fade_in").fadeIn(200);
                }
                else{
                    generic.disableInputs();
                    generic.msgError(data.msg);
                }
            },
            error:function(data){

            }
        });
    },
    guardaPreguntas:function(){
        
        var numPregunta = parseInt($("#hidNumPre").val());
        var cnt = numPregunta + 1;
        
        //var desc_cuest = $("#drpCuestionario option:selected").text();
        //$("#drpSelectedC").append($("<option value ='" + idcuestionario + "'></option>").html(desc_cuest));        

        generic.inputs = new Array();

        generic.inputs.push($("#drpCuestionario").val());
        generic.inputs.push(cnt);
        generic.inputs.push($("#txtPregunta").val());
        generic.inputs.push($("#txtPuntos").val());
        generic.inputs.push($("#txtRespuesta").val());

        $.ajax({
            url: "modules/saveQuest.php",
            dataType: "json",
            type: "POST",
            data: {'drpCuestionario':generic.inputs[0],'numero':generic.inputs[1],'preguntas':generic.inputs[2],'puntos':generic.inputs[3]},
            success: function(data){                
                generic.guardaRespuesta(data.inserted, generic.inputs[4], numPregunta);                
                //$("#hidNumPre").val(cnt);
            },
            error: function(data){
                
            }
        });
    },
    guardaRespuesta:function(pre, resp, ind){
        $.ajax({
            url: "modules/saveAns.php",
            dataType: "json",
            type: "POST",
            data: {'pregunta':pre,'respuesta':resp,'indice':ind},
            success: function(data){
                generic.muestraPreguntas();
            },
            error: function(data){
                alert('error');
            }
        });
    },
    muestraPreguntas:function(){
        var cuestionario = $("#drpCuestionario").val();
        
        $.ajax({
            url:'modules/loadQuestDetails.php',
            dataType:'json',
            type:'POST',
            data:{'cuestionario':cuestionario},
            success:function(data){
                if(data.status){
                    if (parseInt(data.total) >= 0) {
                        generic.preguntas = data.preg;

                        $("#btnAgregar").removeClass("disabled");
                        $("#tblPreguntas").empty();
                        for (var i = 0; i < generic.preguntas.length; i++) {
                            $("#tblPreguntas").append($("<tr><td style='width:20px;'>" + generic.preguntas[i].Numero + "<input type='hidden' id='hidIdPregunta" + generic.preguntas[i].IdPregunta + "' value='" + generic.preguntas[i].IdPregunta + "'></td><td>" + generic.preguntas[i].descripP + "</td><td>" + generic.preguntas[i].descripR + "</td><td style='width:40px;'>" + generic.preguntas[i].Puntos + "</td><td style='width:45px;'><button type='button' class='btn btn-sm' onclick='myDeleteFunction(this.id)'><span class='icon-search'></span></button></td></tr>"));
                            $('#hidNumPre').val(generic.preguntas[i].Numero);

                            if (i > 8) {
                                $("#btnAgregar").addClass("disabled");
                            }

                        };
                        $("#fade_in").fadeIn(200);
                    };
                }
            },
            error:function(data){

            }
        });
    },
    comboInstituciones:function(){

    },
    validaForm:function(idForm){
        
        $('#'+idForm).submit(function()
        {    generic.ban = true;
             var inputs = $("#"+idForm+" :input[type!='submit']");
            inputs.each(function(index,el)
            {        
                    id = $(this).attr('id');
                    if(jQuery.trim($(this).val()) == "")
                    {	
                       $('#'+id).parent().addClass('has-error');
                       alert('vacio----'+id)
                         generic.ban = false;
                    }else{
                        
                        $('#'+id).parent().removeClass('has-error');
                    }
            }); 
            if($('#contentFrame').length == 0){
                $(document.createElement('div')).attr('id','contentFrame').insertBefore('#iframeContent');
            }
            if(generic.ban){
                 $('#contentFrame').removeClass('alert alert-warning').empty().css("height", '0px');
                return true;generic.ban=true;
            } 
            else{
                $('#contentFrame').html(" <button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>Atención!! </strong> Los campos marcados en rojo estan vacios, intentelo nuevamente").addClass('alert alert-warning').css("height", '48px'); 
                return false;generic.ban=true;
            }
        });
    },
    limpiaInputs: function(){
        var inputs = $('input');
            inputs.each(function(index,el)
            {       
                id = $(this).attr('id');
                $('#'+id).val('');
            });
           
    },
    msgFrame:function(){
        generic.responseFrame = false;
        $("#iframeContent").load(function(){
            var myDiv = this.contentWindow.document.getElementsByTagName('div');
            if(myDiv.length>0){
            var idDiv = myDiv[0].getAttribute('id');
            var addClase = "";
            if(idDiv == 'asd'){
                addClase = "alert alert-danger";
                generic.responseFrame = false;
            }else{
                addClase = "alert alert-success";
                generic.responseFrame = true;
            }
            textError = $(myDiv[0]).html();
            (textError!='')?function(){
                $('#contentFrame').html(textError).addClass(addClase).css("height", '48px');    
           }()
           :function(){
            $('#contentFrame').removeClass(addClase).empty().css("height", '0px');;
           }();
        }
        });
    },
    disableInputs:function(){
        $("#panelCentral :input").attr('disabled','disabled');
    },
    msgError:function(msg){
     if($('#contentFrame').length == 0){
            $(document.createElement('div')).attr('id','contentFrame').insertBefore('#iframeContent');
        }
        $('#contentFrame').html(" <button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>Atención!! "+msg+" </strong>").addClass('alert alert-warning').css("height", '48px'); 
           
    }
};

